The present invention relates generally to data organization and graphical displays and more particularly to a method and system for retrieving and displaying spatial data.
Spatial data relating to positioning on the earth""s surface is generally referred to as geographic information. Geographic information can include relative positioning information to locate specific locations on the earth""s surface as well as to locate features and boundaries. Systems for the storage and retrieval of such information are termed Geographic Information Systems (GIS). Geographic Information Systems are computer processes, systems and data structures that deal with the management and processing of geographic based information. GIS systems generally fall into two categories, namely, file based systems and relational database (RDB) based systems.
File based GIS systems store geographic data in files in accordance with a predefined format which is determined by the vendor of the GIS system. GIS data files are used to record geographic information. The file contents are managed by a GIS system. File based GIS systems are self complete. Such GIS systems rely on internal formats to model and index spatial data for internal use within the geographic boundaries defined by the file. As a result, file based systems are usually fast when the GIS information is accessed from one file. However, management of file based GIS systems is difficult as the geographic area covered by a file is generally limited to a certain size. Accordingly, tens or hundreds of files can be required to store geographic information for areas covering large areas. There are several such systems available on the market including, for example, ESRI""s Arc/Info product which is a file based GIS system. Using such a file based system to manage the property based map of a city of approximately eight hundred thousand people requires significant resources including the need to maintain as many as three hundred files in the Arc/Info proprietary format.
There are RDB based systems available in the market as well such as the VISION (trademark) system of Systemhouse Ltd. For RDB GIS systems, data is stored in a relational database where it is managed by a relational database management system (RDBMS). With an RDBMS, only a single database is required in place of the many files relied upon by a file based GIS system. With an RDB system, each geographic object is represented as a record in a first table. A separate index table is used to store the spatial index of each geographic object. When retrieval of geographic objects within a predefined spatial region is required, the index table is queried or examined to locate all objects which are within the query region. The records selected for the geographic objects are then retrieved from the first table. Access to geographic objects stored in an RDB system is generally characterized as slow or low speed when requiring large numbers of records to be retrieved and processed to satisfy a query.
What is needed is a GIS system to present geographic objects with the speed and ease of file based systems while maintaining the data management benefits of an RDB system.
In a geographic information system (GIS), geographic data are organized by hierarchical levels. The upper level of the hierarchy include larger spatial objects such as national boundaries and national highways. The lower level includes smaller spatial extents such as land parcel boundaries. Each level in the hierarchy layers may have its own coordinate reference system and an associated coordinate transformation system to transform a geographic location on the earth to the coordinate reference system used in the hierarchical level.
In accordance with one aspect of the invention, the spatial extent of each layer or level of the hierarchy is subdivided by a predefined partitioning strategy. The partitioning strategy for the geographic extent may include any useful strategy to define a partition space within the boundaries of the geographic space of the hierarchical layer. For example, the geographic space can be partitioned using a partitioning strategy based on equal sized cell grids, voronoi diagrams, political jurisdiction boundaries or any user defined shape such as township boundaries or legal land descriptions. The partitioned space is called a partition, a sub-space or a cell. Each cell is assigned a unique identifier, such as a number, to uniquely identify the cell. The unique cell identifier is referred to as a spatial index.
The extent of a hierarchical level contains numerous spatial objects. In accordance with the invention, these spatial objects are assigned a spatial index. The spatial index of a spatial object is defined by the cell the spatial object lies in. If one spatial object overlaps more than one cell than, its spatial index may be defined by the cell that the object overlaps with the most. Spatial objects on each level are grouped by their spatial indices, i.e. the cells they are located in. The grouped objects are stored in a long binary column of a table in a relational database along with another column storing the identification of cells. In this way, once the identification of a cell is known, the spatial objects overlapping with the cell can be directly and quickly loaded from the long binary field. This approach to store the spatial objects with their spatial indices is called a space-based approach, compared to the object-based approach currently used in RDB based systems. In RDB based systems, the spatial indices are stored with spatial objects. In other words, the identification of a spatial object is the primary key in a spatial index vs. spatial object identification relational table.
After the geographic space is partitioned by a partitioning strategy, GIS spatial data for a partition can be stored in a long binary field of a table in a relational database. The format of the long binary spatial data is user definable and conforms to the spatial data defined by the GIS system. For example, if the space is partitioned into 20 cells, there will be 20 records with long binary fields to hold the GIS spatial data corresponding to each cell.
In another of its aspects, the invention provides a display system to display visual representations of geographic information in the form of a map displayed in a graphical display area overlaid by spatially coordinated attachments. The graphical display area of visual information depicting a map region of interest is overlaid with visual representations of attachments and is coordinated to a display area of textual information of a plurality of groups or collections of user defined categories of such attachments. The user defined categories group attachment objects corresponding to like attributes to form a collection of such objects. Each attachment object or member of the attachment group or attachment collection is capable of visual depiction at a location in a graphical display of the map. The user defined categories are capable of further coordination with a user controllable tab list display area of information identifying particulars of each of the members of the collection or group of attachments. Collections or groups of attachments may be further grouped into super groups or categories.
Selecting an attachment category in the category display area will cause a display of the attachment tabular information in a coordinated tabular display area. Selecting a record or item in the tabular display area will highlight the graphical representation of the selected item in the graphical display area of the graphical display. Selecting a graphical representation of an item in the graphical display area will select the attachment category and the record (item) respectively in the category display area and the tab list display area. Thus, there are three coordinated information display areas which present graphical and textual information in an interrelated manner.
In another of its aspects, the invention provides a display system providing a graphical display area to display visual representations of geographic information in the form of a map coordinated with textual descriptor displays. The display area of visual information depicting a map region of interest is coordinated to a display area of textual information of a plurality of groups or collections of user defined categories. The user defined categories group objects having like attributes to form a collection of such objects. Each object or member of the group or collection references a location in the geographic display area. The user defined categories are capable of further coordination with a user controllable tab list display area of information identifying particulars of each of the objects or members of the category collection or group.
In another of its aspects, the invention provides a map/attachment architecture. The inventive architecture complements the invented space-based approach to model and store spatial data in a relational database. One drawback of the space-based approach is that it is difficult to search a particular spatial object although the identification of the spatial object can be packed in the long binary data blocks and the attributes of the spatial object can be stored in another table with the identification of the spatial object as the primary key. The map/attachment architecture separates spatial objects that are best modeled by an object-based approach from spatial objects that are best modeled by a space-based approach. The separation is subjective. For example, in a crime analysis system used by police services, the street map objects (street lines and street names) are map objects in the map/attachment architecture; the crime data (crime types and locations) are attachment objects. In another street maintenance system, street line segments are attachments. Generally, the map objects are spatial objects in a background map. They are often termed base map objects. Attachment objects are spatial objects users want to view and analyze in a spatial context. They are generally stored as records in a relational table, or records in several related tables. Each record (retrieved from one or more tables) is called an attachment object. An attachment is a collection of records retrieved from the same table or tables defined by the same search criteria. Attachment objects are further grouped by categories for easy management.
In another of its aspects, the invention provides a structure to store attachments and attachment categories in a relational database. Two tables are used to store attachments and attachment categories. The schemas allow nested attachment categories.
In yet another of its aspects, the invention provides a data structure and method to generalize the spatial translation of an attachment object. The method enables the translation of spatial coordinates from other parameters such as street address. The translation produces spatial coordinates for an attachment that has storage and identification rules separate from that of the GIS system. The spatial coordinates translation can be effected dynamically at run time or can be recorded in the data structure when an attachment record is inserted into the database.